test/isPerfectSquare.test.js
zzmq.dev@gmail.com[dev1]/mathkit[add-isperfectsquare-n-function-tests] / test / isPerfectSquare.test.js
@ 38505f3e
Download
Ladder Summary
- file Add isPerfectSquare function with validation and tests, and export it from the main entry point
import { test } from "node:test";
import assert from "node:assert/strict";
import { isPerfectSquare } from "../src/isPerfectSquare.js";
test("isPerfectSquare identifies perfect squares", () => {
assert.strictEqual(isPerfectSquare(0), true);
assert.strictEqual(isPerfectSquare(1), true);
assert.strictEqual(isPerfectSquare(4), true);
assert.strictEqual(isPerfectSquare(9), true);
assert.strictEqual(isPerfectSquare(16), true);
assert.strictEqual(isPerfectSquare(25), true);
assert.strictEqual(isPerfectSquare(100), true);
});
test("isPerfectSquare rejects non‑perfect squares and invalid inputs", () => {
assert.strictEqual(isPerfectSquare(-1), false);
assert.strictEqual(isPerfectSquare(2), false);
assert.strictEqual(isPerfectSquare(3), false);
assert.strictEqual(isPerfectSquare(5), false);
assert.strictEqual(isPerfectSquare(7), false);
assert.strictEqual(isPerfectSquare(10), false);
assert.strictEqual(isPerfectSquare(2.5), false);
assert.strictEqual(isPerfectSquare(NaN), false);
assert.strictEqual(isPerfectSquare(Infinity), false);
assert.strictEqual(isPerfectSquare(-Infinity), false);
});